package com.aruio.config;

/**
 * @Description 线程数据源上下文
 * @Date 2024/9/14 9:49
 * @Created by 10574
 */
public class DataSourceHolder {
    /**
     * 本地线程 数据源
     */
    private static final ThreadLocal<String> threadCurrentDatasource = new InheritableThreadLocal<>();

    /**
     * 设置线程本地数据源
     * @param datasourceKey 数据源所对应的key
     */
    public static void setDatasource(String datasourceKey) {
        threadCurrentDatasource.set(datasourceKey);
    }

    /**
     * 获取线程本地数据源所对应的key
     */
    public static String getDataSource() {
        return threadCurrentDatasource.get();
    }

    /**
     * 清除线程本地数据源所对应的key
     */
    public static void clearDatasource() {
        threadCurrentDatasource.remove();
    }
}
